Telephone calls are often plagued by echoes, which are the reflected copies of the caller's voice that are reflected back by the two wire to the four wire network portion of the far end phone set. The far end reflects back the received voice and the received voice is transmitted back through the line to the caller after a brief delay. Echoes of sufficient delay, such as, for example, a delay of greater than 25 milliseconds, can be detected by the human ear and can degrade a phone conversation to unacceptable levels. Several techniques have been employed to correct the echoes experienced during calls. For instance, a technique known as echo suppression uses a voice activated switch to turn off transmission from the speaker to the listener whenever the caller is silent. Some negative side effects of echo suppression include voice clipping and choppiness, which may further result in voice degradation. Another technology is known as echo cancellation, which is accomplished by sampling the return path for echo signals from 0 to 128 milliseconds windows in which a signal processor looks for an attenuated mirror image of the transmit signal arriving back in the receive path at a lower attenuation during this window. Once the signal is locked on or confirmed, the echo is then cancelled by the processor inducing a cancellation signal (180 degree out-of-phase) matching the delay time and amplitude of the attenuated signal that was originally transmitted.
With the movement of telecommunication services from TDM to voice over Internet protocol (“VoIP”), particularly using plain old telephone service (“POTS”) phones that contain the two wire to four wire network component, traditional voice quality impairments have combined with IP-based impairments to degrade the overall quality of VoIP calls. Packet technology, such as VoIP, injects path delay in a call session due to voice codec sampling, and the use of jitter buffers to eliminate packet jitter that is within the network, these attributes make it more difficult to cancellation more difficult and costly due to longer Echo Cancellation sampling windows to detect the longer round trip delays. In place of the switch-based echo cancellers used in time slot based switching protocols, VoIP media gateways or voice codec conversions have become responsible for the echo cancellation functions.
The echo cancellation function takes processing power and memory to facilitate implementing a “tail” or echo cancellation sampling, correspondence, and cancellation functions. Thus, the use of packetized voice communications makes echo cancellation more costly. Media gateways also have limited echo cancellation capacity due to their limited storage capacity, which generally support echo tails of limited window size, such as 28-64 milliseconds. In some applications of packet voice, such as the use of wireless handsets or VoIP over the long distances necessitated for international calls, there may be echoes with significantly longer tail delays than current systems are designed to handle. Further, media gateways do not provide bidirectional echo cancellation capabilities, thus leaving one side of the network uncorrected.
FIG. 1 is an illustration of a transmitted signal and a received signal as commonly known is generally designated 100. A transmitted signal 102 is shown containing a voice signal 104 from a call where they are both shown during a period of time that is illustrated and generally designated as transmitted signal window 106. Transmitted signal window 106 is a period of time in which transmitted signal 102 and voice signal 104 are stored and analyzed for echo cancellation. For example, the amplification and frequency of voice signal 104 on transmitted signal 102 is stored and analyzed to determine signatures of voice signal 104. Transmitted signal window 106 may be any period of time associated with current echo cancellation techniques, such as 64 to 256 milliseconds. Transmitted signal window 106 may be stored for a period of time, such as 64 milliseconds, while a signal processor scans a received signal 108 and an echo signal 110 to determine the time delay 114 between voice signal 104 and echo signal 110. A processor compares the peaks of voice signal 104 and echo signal 110 to determine when echo signal 110 is being received to determine time delay 114. Once echo signal 110 has been detected and time delay 114 has been determined, the processor introduces echo signal 110 180 degrees out-of-phase with echo signal 110 contained in received signal 108 to cancel echo signal 110 from received signal 108. As can be seen, for the processor to determine echo signal 110 of received signal 108, it must scan a large received signal window 112.
Further, to augment media gateways, Internet protocol (“IP”) processors may be used that use large amounts of memory, processing power, and algorithms to determine the delay in the echo. If the echo delays are substantial, then these processors become ineffective due to their storage and tracking limitations. For example, some long distance VoIP calls involving Internet routers and switches may produce echo delays of anywhere from 45 to 300 milliseconds. Moreover, if a call involves a wireless RF link as in commonplace cell phone calls, the echo delay may increase even further. For instance, a RF wireless call may have delays of up to 125 milliseconds for one caller on a wireless cell phone where the other caller is on a landline, and up to 250 milliseconds for both callers on wireless cell phones.